<?php
// +----------------------------------------------------------------------
// | likeadmin快速开发前后端分离管理后台（PHP版）
// +----------------------------------------------------------------------
// | 欢迎阅读学习系统程序代码，建议反馈是我们前进的动力
// | 开源版本可自由商用，可去除界面版权logo
// | gitee下载：https://gitee.com/likeshop_gitee/likeadmin
// | github下载：https://github.com/likeshop-github/likeadmin
// | 访问官网：https://www.likeadmin.cn
// | likeadmin团队 版权所有 拥有最终解释权
// +----------------------------------------------------------------------
// | author: likeadminTeam
// +----------------------------------------------------------------------

namespace app\common\model;

use app\common\service\FileService;
use think\Model;

/**
 * 基础模型
 * Class BaseModel
 * @package app\common\model
 */
class BaseModel extends Model {

    /**
     * @notes 公共处理图片,补全路径
     * @param $value
     * @return string
     * @author 张无忌
     * @date 2021/9/10 11:02
     */
    public function getImageAttr($value) {
        return trim($value) ? FileService::getFileUrl($value) : '';
    }

    /**
     * @notes 公共图片处理,去除图片域名
     * @param $value
     * @return mixed|string
     * @author 张无忌
     * @date 2021/9/10 11:04
     */
    public function setImageAttr($value) {
        return trim($value) ? FileService::setFileUrl($value) : '';
    }

    /**
     * 房间设备信息求和
     * @param $arr // 二维数组
     * @param $key // 数组关键词
     * @param $count // 人数
     * @param $num // 位数
     * @param $addend // 额外增加数
     * @return float
     */
    public function array_sum_total($arr, $key, $count = 1, $num = 6, $addend = 0) {
        $total_arr = array_column($arr, $key);
        if ($count > 0) {
            $total = array_sum($total_arr) / $count;
        } else {
            $total = array_sum($total_arr) * 0;
        }
        $total = $total + $addend * 1;
        return 1 * sprintf("%.{$num}f", $total);
    }

    public function handle_sort($sort) {
        if (empty($sort)) {
            return "";
        }
        $s = mb_strlen($sort, "UTF-8");
        if ($s < 7) {
            $new_sort = "";
            for ($i = 1; $i <= (7 - $s); $i++) {
                $new_sort .= '0';
            }
            $new_sort .= $sort;
            return $new_sort;
        } else {
            return $sort;
        }
    }

}
